package io.renren.modules.file.service;

import com.baomidou.mybatisplus.service.IService;
import io.renren.common.utils.R;
import io.renren.modules.file.entity.BigFileEntity;
import io.renren.modules.file.entity.FileChunkEntity;
import io.renren.modules.file.vo.FileVoEntity;


import java.util.List;
import java.util.Map;

/**
 * 大文件传输记录表
 *
 * @author ygg
 * @date 2021-05-29 11:02:10
 */
public interface FileService extends IService<FileChunkEntity> {

    /**
     * 通过搜索路径获取列表
     * @param params
     * @return
     */
    List<FileVoEntity> getListByPath(String basePath,Map<String, Object> params) throws Exception;

    /**
     * 通过搜索 关键字 获取文件列表
     * @param params
     * @return
     */
    List<FileVoEntity> getListBySearchVal(String basePath,Map<String, Object> params) throws Exception;


    /**
     * 处理POST请求（携带文件流）
     * @param chunk 文件块
     * @param params 响应
     */
    public R fileUploadPost(String basePath,FileChunkEntity chunk);

    /**
     * 处理GET请求（携带文件流）
     * @param chunk 文件块
     * @param params 响应
     * @return 文件块
     */
    String chunkUploadByteBuffer(FileChunkEntity chunk, String filePath);
}

